/*
   Project AwesOmeScript
   Copyright 2010 Domenico Gentner

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2 of the License, or
   (at your option) any later version.

   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.

   You should have received a copy of the GNU General Public License along
   with this program; if not, write to the Free Software Foundation, Inc.,
   51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#ifndef STYLEDESCRIPTOR_HPP
#define STYLEDESCRIPTOR_HPP

//////////////////////////////////////////////////////////////////////////
// Describes a style for use with wxStyledTextControl
class StyleDescriptor
{
public:
	StyleDescriptor(){}

	StyleDescriptor(int id, const wxString& description, const wxColour& foreground, const wxColour& background)
		: m_style_id(id), m_description(description), m_foreground(foreground), m_background(background)
	{}

	const wxColour& GetForeground() const { return m_foreground; }
	const wxColour& GetBackground() const { return m_background; }
	const wxString& GetDescription() const { return m_description; }
	const int GetId() const { return m_style_id; }

	void SetForeground(wxColour& c) { m_foreground = c; }
	void SetBackground(wxColour& c) { m_background = c; }

private:
	int m_style_id;
	wxString m_description;
	wxColour m_foreground;
	wxColour m_background;
};

#endif // STYLEDESCRIPTOR_HPP
